﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace Consultorio_Medico
{
    public partial class AltaPermiso : Form
    {
        public AltaPermiso()
        {
            InitializeComponent();
        }

        private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
        {
            this.txtFecha.Text = monthCalendar1.SelectionStart.ToShortDateString();

        }

        private void btnAlta_Click(object sender, EventArgs e)
        {
            if (insertar())
            {
                MessageBox.Show("Permiso dado de Alta!!","Exito",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                this.Close();
                this.Dispose();
            }
            else
            {
                MessageBox.Show("Permiso no ingresado!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private Boolean insertar()
        {
            verificar();
            Boolean correcto = false;
            MySqlConnection conexion = null;
            try
            {
                String[] fecha = txtFecha.Text.Split('/');
                String fechaActual = fecha[2] + "/" + fecha[1] + "/" + fecha[0];
                String cadenaConexion = "Server=Localhost;Database=consultorio;Uid=root;Pwd=123;";
                conexion = new MySqlConnection(cadenaConexion);
                MySqlCommand insertar = conexion.CreateCommand();
                insertar.CommandText = "INSERT INTO permisos(desc_permiso, item_menu, tipo_permiso, fecha_alta, activo) VALUES(@desc_permiso, @item_menu, @tipo_permiso, @fecha_alta, @activo)";
                conexion.Open();
                insertar.Parameters.AddWithValue("@desc_permiso", rtbDesc.Text.Trim());
                insertar.Parameters.AddWithValue("@item_menu", cmbItem.Text.Trim());
                insertar.Parameters.AddWithValue("@tipo_permiso", cmbTipo.Text.Trim());
                insertar.Parameters.AddWithValue("@fecha_alta", fechaActual);
                insertar.Parameters.AddWithValue("@activo", 1);
                insertar.ExecuteNonQuery();
                conexion.Close();
                conexion.Dispose();
                correcto = true;
            }
            catch (Exception)
            {
                correcto = false;
                conexion.Close();
                conexion.Dispose();
            }
            return correcto;
        }

        private void verificar()
        {
            if (rtbDesc.Text.Trim().Equals("") || cmbItem.Text.Trim().Equals("") || cmbTipo.Text.Trim().Equals("") || txtFecha.Text.Trim().Equals(""))
            {
                MessageBox.Show("Campos vacios!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        
        }

        private void AltaPermiso_Load(object sender, EventArgs e)
        {
            cmbTipo.Text = "Seleccione un tipo...";
            String[] tipos = {"Administrador", "Secretaria", "Médico" };
            cmbTipo.Items.AddRange(tipos);
            String[] item = {"Administración", "Pacientes", "Enfermedades", "Historías Clínicas"};
            cmbItem.Items.AddRange(item);
        }
    }
}
